import { Icon, type IconProps, createIcon } from "@chakra-ui/icons";

const OllamaIcon = createIcon({
  displayName: "OllamaIcon",

  path: (
    <svg
      xmlns="http://www.w3.org/2000/svg"
      width={24}
      height={24}
      viewBox="0 0 24 24"
    >
      <path
        fill="currentColor"
        d="M16.361 10.26a.9.9 0 0 0-.558.47l-.072.148l.001.207c0 .193.004.217.059.353c.076.193.152.312.291.448c.24.238.51.3.872.205a.86.86 0 0 0 .517-.436a.75.75 0 0 0 .08-.498c-.064-.453-.33-.782-.724-.897a1.1 1.1 0 0 0-.466 0m-9.203.005c-.305.096-.533.32-.65.639a1.2 1.2 0 0 0-.06.52c.057.309.31.59.598.667c.362.095.632.033.872-.205c.14-.136.215-.255.291-.448c.055-.136.059-.16.059-.353l.001-.207l-.072-.148a.9.9 0 0 0-.565-.472a1 1 0 0 0-.474.007m4.184 2c-.131.071-.223.25-.195.383c.031.143.157.288.353.407c.105.063.112.072.117.136c.004.038-.01.146-.029.243c-.02.094-.036.194-.036.222c.002.074.07.195.143.253c.064.052.076.054.255.059c.164.005.198.001.264-.03c.169-.082.212-.234.15-.525c-.052-.243-.042-.28.087-.355c.137-.08.281-.219.324-.314a.365.365 0 0 0-.175-.48a.4.4 0 0 0-.181-.033c-.126 0-.207.03-.355.124l-.085.053l-.053-.032c-.219-.13-.259-.145-.391-.143a.4.4 0 0 0-.193.032m.39-2.195c-.373.036-.475.05-.654.086a4.5 4.5 0 0 0-.951.328c-.94.46-1.589 1.226-1.787 2.114c-.04.176-.045.234-.045.53c0 .294.005.357.043.524c.264 1.16 1.332 2.017 2.714 2.173c.3.033 1.596.033 1.896 0c1.11-.125 2.064-.727 2.493-1.571c.114-.226.169-.372.22-.602c.039-.167.044-.23.044-.523c0-.297-.005-.355-.045-.531c-.288-1.29-1.539-2.304-3.072-2.497a7 7 0 0 0-.855-.031zm.645.937a3.3 3.3 0 0 1 1.44.514c.223.148.537.458.671.662c.166.251.26.508.303.82c.02.143.01.251-.043.482c-.08.345-.332.705-.672.957a3 3 0 0 1-.689.348c-.382.122-.632.144-1.525.138c-.582-.006-.686-.01-.853-.042q-.856-.16-1.35-.68c-.264-.28-.385-.535-.45-.946c-.03-.192.025-.509.137-.776c.136-.326.488-.73.836-.963c.403-.269.934-.46 1.422-.512c.187-.02.586-.02.773-.002m-5.503-11a1.65 1.65 0 0 0-.683.298C5.617.74 5.173 1.666 4.985 2.819c-.07.436-.119 1.04-.119 1.503c0 .544.064 1.24.155 1.721c.02.107.031.202.023.208l-.187.152a5.3 5.3 0 0 0-.949 1.02a5.5 5.5 0 0 0-.94 2.339a6.6 6.6 0 0 0-.023 1.357c.091.78.325 1.438.727 2.04l.13.195l-.037.064c-.269.452-.498 1.105-.605 1.732c-.084.496-.095.629-.095 1.294c0 .67.009.803.088 1.266c.095.555.288 1.143.503 1.534c.071.128.243.393.264.407c.007.003-.014.067-.046.141a7.4 7.4 0 0 0-.548 1.873a5 5 0 0 0-.071.991c0 .56.031.832.148 1.279L3.42 24h1.478l-.05-.091c-.297-.552-.325-1.575-.068-2.597c.117-.472.25-.819.498-1.296l.148-.29v-.177c0-.165-.003-.184-.057-.293a.9.9 0 0 0-.194-.25a1.7 1.7 0 0 1-.385-.543c-.424-.92-.506-2.286-.208-3.451c.124-.486.329-.918.544-1.154a.8.8 0 0 0 .223-.531c0-.195-.07-.355-.224-.522a3.14 3.14 0 0 1-.817-1.729c-.14-.96.114-2.005.69-2.834c.563-.814 1.353-1.336 2.237-1.475c.199-.033.57-.028.776.01c.226.04.367.028.512-.041c.179-.085.268-.19.374-.431c.093-.215.165-.333.36-.576c.234-.29.46-.489.822-.729c.413-.27.884-.467 1.352-.561c.17-.035.25-.04.569-.04s.398.005.569.04a4.07 4.07 0 0 1 1.914.997c.117.109.398.457.488.602c.034.057.095.177.132.267c.105.241.195.346.374.43c.14.068.286.082.503.045c.343-.058.607-.053.943.016c1.144.23 2.14 1.173 2.581 2.437c.385 1.108.276 2.267-.296 3.153c-.097.15-.193.27-.333.419c-.301.322-.301.722-.001 1.053c.493.539.801 1.866.708 3.036c-.062.772-.26 1.463-.533 1.854a2 2 0 0 1-.224.258a.9.9 0 0 0-.194.25c-.054.109-.057.128-.057.293v.178l.148.29c.248.476.38.823.498 1.295c.253 1.008.231 2.01-.059 2.581a1 1 0 0 0-.044.098c0 .006.329.009.732.009h.73l.02-.074l.036-.134c.019-.076.057-.3.088-.516a9 9 0 0 0 0-1.258c-.11-.875-.295-1.57-.597-2.226c-.032-.074-.053-.138-.046-.141a1.4 1.4 0 0 0 .108-.152c.376-.569.607-1.284.724-2.228c.031-.26.031-1.378 0-1.628c-.083-.645-.182-1.082-.348-1.525a6 6 0 0 0-.329-.7l-.038-.064l.131-.194c.402-.604.636-1.262.727-2.04a6.6 6.6 0 0 0-.024-1.358a5.5 5.5 0 0 0-.939-2.339a5.3 5.3 0 0 0-.95-1.02l-.186-.152a.7.7 0 0 1 .023-.208c.208-1.087.201-2.443-.017-3.503c-.19-.924-.535-1.658-.98-2.082c-.354-.338-.716-.482-1.15-.455c-.996.059-1.8 1.205-2.116 3.01a7 7 0 0 0-.097.726c0 .036-.007.066-.015.066a1 1 0 0 1-.149-.078A4.86 4.86 0 0 0 12 3.03c-.832 0-1.687.243-2.456.698a1 1 0 0 1-.148.078c-.008 0-.015-.03-.015-.066a7 7 0 0 0-.097-.725C8.997 1.392 8.337.319 7.46.048a2 2 0 0 0-.585-.041Zm.293 1.402c.248.197.523.759.682 1.388c.03.113.06.244.069.292c.007.047.026.152.041.233c.067.365.098.76.102 1.24l.002.475l-.12.175l-.118.178h-.278c-.324 0-.646.041-.954.124l-.238.06c-.033.007-.038-.003-.057-.144a8.4 8.4 0 0 1 .016-2.323c.124-.788.413-1.501.696-1.711c.067-.05.079-.049.157.013m9.825-.012c.17.126.358.46.498.888c.28.854.36 2.028.212 3.145c-.019.14-.024.151-.057.144l-.238-.06a3.7 3.7 0 0 0-.954-.124h-.278l-.119-.178l-.119-.175l.002-.474c.004-.669.066-1.19.214-1.772c.157-.623.434-1.185.68-1.382c.078-.062.09-.063.159-.012"
      />
    </svg>
  ),
});

const OpenAIIcon = createIcon({
  displayName: "OpenAIIcon",

  path: (
    <svg
      width="24"
      height="24"
      viewBox="0 0 24 24"
      fill="none"
      xmlns="http://www.w3.org/2000/svg"
    >
      <rect width="24" height="24" rx="6" fill="#19C37D" />
      <path
        d="M19.7758 11.5959C19.9546 11.9948 20.0681 12.4213 20.1145 12.8563C20.1592 13.2913 20.1369 13.7315 20.044 14.1596C19.9529 14.5878 19.7947 14.9987 19.5746 15.377C19.4302 15.6298 19.2599 15.867 19.0639 16.0854C18.8696 16.3021 18.653 16.4981 18.4174 16.67C18.1801 16.842 17.9274 16.9864 17.6591 17.105C17.3926 17.222 17.1141 17.3114 16.8286 17.3698C16.6945 17.7859 16.4951 18.1797 16.2371 18.5339C15.9809 18.8881 15.6697 19.1993 15.3155 19.4555C14.9613 19.7134 14.5693 19.9129 14.1532 20.047C13.7371 20.1829 13.302 20.2499 12.8636 20.2499C12.573 20.2516 12.2807 20.2207 11.9953 20.1622C11.7116 20.102 11.433 20.0109 11.1665 19.8923C10.9 19.7736 10.6472 19.6258 10.4116 19.4538C10.1778 19.2819 9.96115 19.0841 9.76857 18.8658C9.33871 18.9586 8.89853 18.981 8.46351 18.9363C8.02849 18.8898 7.60207 18.7763 7.20143 18.5975C6.80252 18.4204 6.43284 18.1797 6.10786 17.8857C5.78289 17.5916 5.50606 17.2478 5.28769 16.8695C5.14153 16.6167 5.02117 16.3502 4.93004 16.0734C4.83891 15.7965 4.77873 15.5111 4.74778 15.2205C4.71683 14.9317 4.71855 14.6393 4.7495 14.3488C4.78045 14.0599 4.84407 13.7745 4.9352 13.4976C4.64289 13.1727 4.40217 12.803 4.22335 12.4041C4.04624 12.0034 3.93104 11.5787 3.88634 11.1437C3.83991 10.7087 3.86398 10.2685 3.95511 9.84036C4.04624 9.41222 4.20443 9.00127 4.42452 8.62299C4.56896 8.37023 4.73918 8.13123 4.93348 7.91458C5.12778 7.69793 5.34615 7.50191 5.58171 7.32997C5.81728 7.15802 6.07176 7.01187 6.33827 6.89495C6.6065 6.7763 6.88506 6.68861 7.17048 6.63015C7.3046 6.21232 7.50406 5.82029 7.76026 5.46608C8.01817 5.11188 8.32939 4.80066 8.6836 4.54274C9.03781 4.28654 9.42984 4.08708 9.84595 3.95125C10.2621 3.81713 10.6971 3.74835 11.1355 3.75007C11.4261 3.74835 11.7184 3.77758 12.0039 3.83776C12.2893 3.89794 12.5678 3.98736 12.8344 4.106C13.1009 4.22636 13.3536 4.37251 13.5892 4.54446C13.8248 4.71812 14.0414 4.91414 14.234 5.13251C14.6621 5.04138 15.1023 5.01903 15.5373 5.06373C15.9723 5.10844 16.3971 5.22364 16.7977 5.40074C17.1966 5.57957 17.5663 5.81857 17.8913 6.1126C18.2162 6.4049 18.4931 6.74707 18.7114 7.12707C18.8576 7.37811 18.9779 7.64463 19.0691 7.92318C19.1602 8.20001 19.2221 8.48544 19.2513 8.77602C19.2823 9.06661 19.2823 9.35892 19.2496 9.64951C19.2187 9.94009 19.155 10.2255 19.0639 10.5024C19.3579 10.8273 19.5969 11.1953 19.7758 11.5959ZM14.0466 18.9363C14.4214 18.7815 14.7619 18.5528 15.049 18.2657C15.3362 17.9785 15.5648 17.6381 15.7196 17.2615C15.8743 16.8867 15.9552 16.4843 15.9552 16.0785V12.2442C15.954 12.2407 15.9529 12.2367 15.9517 12.2321C15.9506 12.2287 15.9488 12.2252 15.9466 12.2218C15.9443 12.2184 15.9414 12.2155 15.938 12.2132C15.9345 12.2098 15.9311 12.2075 15.9276 12.2063L14.54 11.4051V16.0373C14.54 16.0837 14.5332 16.1318 14.5211 16.1765C14.5091 16.223 14.4919 16.2659 14.4678 16.3072C14.4438 16.3485 14.4162 16.3863 14.3819 16.419C14.3484 16.4523 14.3109 16.4812 14.2701 16.505L10.9842 18.4015C10.9567 18.4187 10.9103 18.4428 10.8862 18.4565C11.0221 18.5717 11.1699 18.6732 11.3247 18.7626C11.4811 18.852 11.6428 18.9277 11.8113 18.9896C11.9798 19.0497 12.1535 19.0962 12.3288 19.1271C12.5059 19.1581 12.6848 19.1735 12.8636 19.1735C13.2694 19.1735 13.6717 19.0927 14.0466 18.9363ZM6.22135 16.333C6.42596 16.6855 6.69592 16.9916 7.01745 17.2392C7.34071 17.4868 7.70695 17.6673 8.09899 17.7722C8.49102 17.8771 8.90025 17.9046 9.3026 17.8513C9.70495 17.798 10.0918 17.6673 10.4443 17.4644L13.7663 15.5472L13.7749 15.5386C13.7772 15.5363 13.7789 15.5329 13.78 15.5283C13.7823 15.5249 13.7841 15.5214 13.7852 15.518V13.9017L9.77545 16.2212C9.73418 16.2453 9.6912 16.2625 9.64649 16.2763C9.60007 16.2883 9.55364 16.2935 9.5055 16.2935C9.45907 16.2935 9.41265 16.2883 9.36622 16.2763C9.32152 16.2625 9.27681 16.2453 9.23554 16.2212L5.94967 14.323C5.92044 14.3058 5.87746 14.28 5.85339 14.2645C5.82244 14.4416 5.80696 14.6204 5.80696 14.7993C5.80696 14.9781 5.82415 15.1569 5.85511 15.334C5.88605 15.5094 5.9342 15.6831 5.99438 15.8516C6.05628 16.0201 6.13194 16.1817 6.22135 16.3364V16.333ZM5.35818 9.1629C5.15529 9.51539 5.02461 9.90398 4.97131 10.3063C4.918 10.7087 4.94552 11.1162 5.0504 11.51C5.15529 11.902 5.33583 12.2682 5.58343 12.5915C5.83103 12.913 6.13881 13.183 6.48958 13.3859L9.80984 15.3048C9.81328 15.3059 9.81729 15.3071 9.82188 15.3082H9.83391C9.8385 15.3082 9.84251 15.3071 9.84595 15.3048C9.84939 15.3036 9.85283 15.3019 9.85627 15.2996L11.249 14.4949L7.23926 12.1805C7.19971 12.1565 7.16189 12.1272 7.1275 12.0946C7.09418 12.0611 7.06529 12.0236 7.04153 11.9828C7.01917 11.9415 7.00026 11.8985 6.98822 11.8521C6.97619 11.8074 6.96931 11.761 6.97103 11.7128V7.80797C6.80252 7.86987 6.63917 7.94553 6.48442 8.03494C6.32967 8.12607 6.18352 8.22924 6.04596 8.34444C5.91013 8.45965 5.78289 8.58688 5.66769 8.72444C5.55248 8.86028 5.45103 9.00815 5.36162 9.1629H5.35818ZM16.7633 11.8177C16.8046 11.8418 16.8424 11.8693 16.8768 11.9037C16.9094 11.9364 16.9387 11.9742 16.9628 12.0155C16.9851 12.0567 17.004 12.1014 17.0161 12.1461C17.0264 12.1926 17.0332 12.239 17.0315 12.2871V16.192C17.5835 15.9891 18.0649 15.6332 18.4208 15.1655C18.7785 14.6978 18.9934 14.139 19.0433 13.5544C19.0931 12.9698 18.9762 12.3817 18.7046 11.8607C18.4329 11.3397 18.0185 10.9064 17.5095 10.6141L14.1893 8.69521C14.1858 8.69406 14.1818 8.69292 14.1772 8.69177H14.1652C14.1618 8.69292 14.1578 8.69406 14.1532 8.69521C14.1497 8.69636 14.1463 8.69808 14.1429 8.70037L12.757 9.50163L16.7667 11.8177H16.7633ZM18.1475 9.7372H18.1457V9.73892L18.1475 9.7372ZM18.1457 9.73548C18.2455 9.15774 18.1784 8.56281 17.9514 8.02119C17.7262 7.47956 17.3496 7.01359 16.8682 6.67658C16.3867 6.34128 15.8193 6.1487 15.233 6.12291C14.6449 6.09884 14.0638 6.24155 13.5548 6.53386L10.2345 8.45105C10.2311 8.45334 10.2282 8.45621 10.2259 8.45965L10.2191 8.46996C10.2179 8.4734 10.2168 8.47741 10.2156 8.482C10.2145 8.48544 10.2139 8.48945 10.2139 8.49403V10.0966L14.2237 7.78046C14.2649 7.75639 14.3096 7.7392 14.3543 7.72544C14.4008 7.7134 14.4472 7.70825 14.4936 7.70825C14.5418 7.70825 14.5882 7.7134 14.6346 7.72544C14.6793 7.7392 14.7223 7.75639 14.7636 7.78046L18.0494 9.67874C18.0787 9.69593 18.1217 9.72 18.1457 9.73548ZM9.45735 7.96101C9.45735 7.91458 9.46423 7.86816 9.47627 7.82173C9.4883 7.77702 9.5055 7.73232 9.52957 7.69105C9.55364 7.6515 9.58115 7.61368 9.61554 7.57929C9.64821 7.54662 9.68604 7.51739 9.72731 7.49503L13.0132 5.59848C13.0441 5.57957 13.0871 5.55549 13.1112 5.54346C12.6607 5.1669 12.1105 4.92618 11.5276 4.85224C10.9447 4.77658 10.3532 4.86943 9.82188 5.11875C9.28885 5.36807 8.83835 5.76527 8.52369 6.26047C8.20903 6.75739 8.04224 7.33169 8.04224 7.91974V11.7541C8.04339 11.7587 8.04454 11.7627 8.04568 11.7661C8.04683 11.7696 8.04855 11.773 8.05084 11.7765C8.05313 11.7799 8.056 11.7833 8.05944 11.7868C8.06173 11.7891 8.06517 11.7914 8.06976 11.7937L9.45735 12.5949V7.96101ZM10.2105 13.0282L11.997 14.0599L13.7835 13.0282V10.9666L11.9987 9.93493L10.2122 10.9666L10.2105 13.0282Z"
        fill="white"
      />
    </svg>
  ),
});

const ZhipuAIIcon = createIcon({
  displayName: "ZhipuAIIcon",
  path: (
    <svg
      width="24"
      height="24"
      viewBox="0 0 24 24"
      fill="none"
      xmlns="http://www.w3.org/2000/svg"
    >
      <g id="ZHIPU Square">
        <g id="shape">
          <path
            d="M11.8923 23.4987C11.8281 23.5139 11.7722 23.5535 11.7365 23.609C11.7008 23.6646 11.6881 23.7319 11.701 23.7966C11.7314 23.9293 11.862 24.0232 11.9919 23.9921C12.0561 23.9771 12.1119 23.9377 12.1476 23.8823C12.1833 23.8268 12.1961 23.7596 12.1832 23.695C12.1528 23.5616 12.0222 23.4677 11.8923 23.4987ZM15.4754 8.52697C16.3105 8.14085 16.681 7.13426 16.3027 6.27944C15.9243 5.42532 14.9403 5.04556 14.1046 5.43238C13.2695 5.81991 12.8982 6.8265 13.2766 7.68062C13.6549 8.53544 14.6389 8.91379 15.4754 8.52697ZM18.0935 13.6284C18.9723 13.358 19.47 12.4107 19.206 11.5129C18.9413 10.6143 18.0152 10.1053 17.1363 10.3757C16.2582 10.646 15.7599 11.5933 16.0246 12.4919C16.2893 13.3898 17.2154 13.8987 18.0935 13.6284ZM5.17233 10.7237C4.84426 11.0278 4.64662 11.4471 4.62083 11.8937C4.59503 12.3403 4.74309 12.7796 5.03398 13.1194C5.17709 13.2847 5.35177 13.4196 5.54777 13.5164C5.74377 13.6132 5.95713 13.6698 6.17533 13.683C6.39352 13.6961 6.61214 13.6655 6.81835 13.593C7.02455 13.5205 7.21418 13.4075 7.3761 13.2606C7.70417 12.9565 7.90182 12.5372 7.92761 12.0906C7.9534 11.644 7.80534 11.2047 7.51445 10.8649C7.37135 10.6996 7.19666 10.5647 7.00066 10.4679C6.80466 10.3711 6.5913 10.3145 6.37311 10.3013C6.15491 10.2882 5.93629 10.3188 5.73009 10.3913C5.52388 10.4638 5.33425 10.5768 5.17233 10.7237ZM19.7686 8.56368C20.1893 8.17968 20.2274 7.51473 19.8526 7.08415C19.7642 6.98189 19.6563 6.89838 19.5352 6.83853C19.414 6.77868 19.2821 6.74371 19.1472 6.73568C19.0123 6.72765 18.8772 6.74673 18.7498 6.79179C18.6224 6.83685 18.5054 6.90698 18.4055 6.99803C18.2027 7.18577 18.0805 7.44488 18.0649 7.72084C18.0492 7.99679 18.1412 8.26806 18.3215 8.47756C18.697 8.90815 19.3472 8.94697 19.7686 8.56368ZM11.946 4.6185C12.5121 4.6185 12.9716 4.14838 12.9716 3.56956C12.9716 2.99074 12.5128 2.52062 11.946 2.52062C11.3792 2.52062 10.9203 2.99003 10.9203 3.56956C10.9203 4.14838 11.3792 4.6185 11.946 4.6185ZM4.80527 8.82979C5.37139 8.82979 5.83022 8.36038 5.83022 7.78085C5.83022 7.20203 5.37139 6.73191 4.80457 6.73191C4.23845 6.73191 3.77892 7.20132 3.77892 7.78085C3.77892 8.35968 4.23845 8.82979 4.80527 8.82979ZM4.11563 15.4361C3.91267 15.6238 3.79043 15.8829 3.77463 16.1588C3.75883 16.4348 3.85071 16.7061 4.03092 16.9157C4.40645 17.3463 5.05727 17.3858 5.47798 17.0018C5.89939 16.6185 5.9368 15.9529 5.56269 15.5223C5.47435 15.42 5.36642 15.3365 5.24528 15.2766C5.12413 15.2168 4.99222 15.1818 4.85733 15.1738C4.72245 15.1658 4.58732 15.1848 4.45993 15.2299C4.33254 15.275 4.21547 15.3451 4.11563 15.4361ZM11.946 21.487C12.5121 21.487 12.9716 21.0176 12.9716 20.438C12.9716 19.8592 12.5128 19.3891 11.946 19.3891C11.3792 19.3891 10.9203 19.8592 10.9203 20.438C10.9203 21.0176 11.3792 21.487 11.946 21.487ZM19.0945 17.2601C19.6613 17.2601 20.1201 16.7907 20.1201 16.2112C20.1201 15.6324 19.6613 15.1623 19.0945 15.1623C18.5283 15.1623 18.0688 15.6317 18.0688 16.2112C18.0688 16.79 18.5276 17.2601 19.0945 17.2601ZM17.0735 3.51521C17.1578 3.52035 17.2422 3.50847 17.3217 3.48028C17.4013 3.45208 17.4743 3.40814 17.5365 3.35108C17.5987 3.29403 17.6488 3.22503 17.6837 3.1482C17.7186 3.07137 17.7377 2.98829 17.7399 2.90391C17.7465 2.81974 17.7362 2.7351 17.7096 2.65498C17.683 2.57486 17.6406 2.50087 17.5849 2.43739C17.5293 2.3739 17.4615 2.3222 17.3855 2.28534C17.3096 2.24847 17.227 2.22719 17.1427 2.22274C17.0586 2.21769 16.9743 2.22962 16.8949 2.25782C16.8154 2.28602 16.7425 2.32991 16.6804 2.38688C16.6183 2.44385 16.5683 2.51273 16.5333 2.58943C16.4984 2.66613 16.4793 2.74907 16.477 2.83332C16.4704 2.91749 16.4807 3.00213 16.5073 3.08225C16.5339 3.16238 16.5763 3.23636 16.632 3.29985C16.6876 3.36333 16.7554 3.41503 16.8314 3.4519C16.9073 3.48876 16.9892 3.51075 17.0735 3.51521ZM6.44292 3.40509C6.51215 3.45127 6.58995 3.48309 6.6717 3.49865C6.75346 3.51422 6.8375 3.51322 6.91886 3.49571C7.00022 3.4782 7.07724 3.44454 7.14535 3.39672C7.21347 3.3489 7.27129 3.2879 7.31539 3.21732C7.40689 3.07395 7.43891 2.90056 7.40464 2.73397C7.37038 2.56738 7.27252 2.4207 7.13186 2.32509C7.06261 2.27879 6.98475 2.24688 6.90293 2.23126C6.8211 2.21563 6.73697 2.2166 6.65552 2.23411C6.57408 2.25163 6.49698 2.28532 6.42882 2.33321C6.36065 2.38109 6.30279 2.44218 6.25869 2.51285C6.16718 2.65622 6.13517 2.82961 6.16944 2.9962C6.2037 3.1628 6.30226 3.30947 6.44292 3.40509ZM1.3528 11.4211C1.03869 11.5771 0.916569 11.9689 1.06975 12.2893C1.10579 12.3647 1.15653 12.4322 1.21899 12.4877C1.28145 12.5432 1.35436 12.5857 1.43346 12.6126C1.51256 12.6396 1.59625 12.6505 1.67961 12.6447C1.76298 12.6388 1.84434 12.6164 1.91892 12.5787C2.23304 12.4227 2.35516 12.031 2.20198 11.7105C2.16593 11.6352 2.11522 11.5678 2.05282 11.5124C1.99041 11.4569 1.91757 11.4145 1.83855 11.3875C1.75954 11.3606 1.67594 11.3497 1.59265 11.3554C1.50936 11.3612 1.42736 11.3835 1.3528 11.4211ZM6.82551 20.4931C6.74132 20.4879 6.65697 20.4998 6.57746 20.528C6.49796 20.5561 6.42494 20.6 6.36275 20.657C6.30057 20.7139 6.25049 20.7829 6.21551 20.8596C6.18054 20.9364 6.16137 21.0194 6.15916 21.1037C6.15254 21.1878 6.16284 21.2725 6.18945 21.3526C6.21606 21.4327 6.25844 21.5067 6.3141 21.5702C6.36975 21.6337 6.43755 21.6854 6.51351 21.7222C6.58946 21.7591 6.67202 21.7804 6.75633 21.7849C6.84046 21.7899 6.92475 21.778 7.00417 21.7498C7.08359 21.7216 7.15652 21.6777 7.21863 21.6207C7.28074 21.5637 7.33075 21.4949 7.36568 21.4182C7.40062 21.3415 7.41976 21.2585 7.42198 21.1743C7.4286 21.0902 7.41832 21.0056 7.39176 20.9255C7.36519 20.8454 7.32287 20.7715 7.26729 20.708C7.21171 20.6445 7.14399 20.5928 7.06812 20.5559C6.99225 20.519 6.90976 20.4976 6.82551 20.4931ZM17.4568 20.6025C17.3875 20.5564 17.3097 20.5247 17.228 20.5092C17.1463 20.4937 17.0623 20.4947 16.9809 20.5122C16.8996 20.5297 16.8226 20.5633 16.7545 20.6111C16.6864 20.6588 16.6285 20.7198 16.5843 20.7903C16.4926 20.9337 16.4605 21.1072 16.4947 21.274C16.529 21.4408 16.627 21.5876 16.7679 21.6832C16.8371 21.7294 16.915 21.7611 16.9968 21.7766C17.0785 21.7922 17.1626 21.7911 17.244 21.7735C17.3253 21.7559 17.4023 21.7222 17.4704 21.6743C17.5385 21.6264 17.5963 21.5654 17.6403 21.4947C17.7318 21.3514 17.7639 21.178 17.7296 21.0114C17.6953 20.8448 17.5975 20.6981 17.4568 20.6025ZM22.6076 11.4599C22.5384 11.4138 22.4606 11.3821 22.3788 11.3666C22.2971 11.3511 22.2131 11.3521 22.1318 11.3696C22.0504 11.3871 21.9734 11.4207 21.9053 11.4685C21.8372 11.5162 21.7793 11.5772 21.7352 11.6477C21.6437 11.791 21.6116 11.9644 21.6459 12.131C21.6802 12.2976 21.778 12.4443 21.9187 12.5399C21.9879 12.5862 22.0658 12.6181 22.1476 12.6337C22.2295 12.6494 22.3136 12.6484 22.395 12.6309C22.4765 12.6134 22.5536 12.5797 22.6217 12.5318C22.6899 12.4839 22.7478 12.4228 22.7919 12.3521C22.8834 12.2088 22.9154 12.0354 22.8811 11.8688C22.8468 11.7022 22.7483 11.5555 22.6076 11.4599ZM22.057 6.30909C22.1043 6.26393 22.1329 6.20263 22.1371 6.13738C22.1413 6.07212 22.1208 6.00768 22.0796 5.95685C22.0366 5.90876 21.9765 5.8794 21.9121 5.87505C21.8478 5.8707 21.7842 5.8917 21.7352 5.93356C21.6879 5.97872 21.6593 6.04001 21.6551 6.10527C21.6509 6.17052 21.6714 6.23496 21.7126 6.28579C21.7556 6.33388 21.8157 6.36325 21.8801 6.3676C21.9444 6.37195 22.0079 6.35095 22.057 6.30909ZM11.9912 0.501088C12.0556 0.486056 12.1116 0.446576 12.1474 0.39099C12.1832 0.335404 12.1961 0.268066 12.1832 0.203206C12.1528 0.0705002 12.0222 -0.0233822 11.8923 0.00767661C11.8282 0.0228647 11.7725 0.0623031 11.7368 0.117713C11.7011 0.173123 11.6883 0.240196 11.701 0.304853C11.7314 0.438265 11.8613 0.532147 11.9912 0.501088ZM1.92669 6.36415C2.05657 6.41073 2.19492 6.33238 2.2408 6.20744C2.2613 6.14447 2.25683 6.07605 2.22832 6.01628C2.19982 5.95651 2.14945 5.90997 2.08763 5.88626C1.95704 5.83968 1.81939 5.91803 1.77351 6.04297C1.75302 6.10594 1.75749 6.17437 1.78599 6.23413C1.8145 6.2939 1.86486 6.34044 1.92669 6.36415ZM1.83492 17.6823C1.78733 17.7274 1.7585 17.7887 1.75418 17.8542C1.74986 17.9196 1.77038 17.9842 1.81163 18.0352C1.85464 18.0833 1.91475 18.1127 1.97912 18.117C2.04349 18.1214 2.10701 18.1004 2.1561 18.0585C2.20349 18.0134 2.2322 17.9522 2.23651 17.8869C2.24083 17.8217 2.22044 17.7572 2.17939 17.7063C2.13638 17.6582 2.07627 17.6288 2.0119 17.6245C1.94753 17.6201 1.88401 17.6404 1.83492 17.6823ZM21.9723 17.6279C21.8425 17.5813 21.7048 17.6597 21.6589 17.7846C21.6384 17.8476 21.6429 17.916 21.6714 17.9758C21.6999 18.0355 21.7503 18.0821 21.8121 18.1058C21.942 18.1524 22.0803 18.074 22.1255 17.9491C22.146 17.8862 22.1417 17.8179 22.1133 17.7581C22.0849 17.6983 22.034 17.6518 21.9723 17.6279Z"
            fill="#3859FF"
          />
          <path
            d="M15.2901 15.4128C14.9386 15.2962 14.5579 15.3024 14.2104 15.4304C13.8628 15.5583 13.5691 15.8005 13.3772 16.1173L13.3616 16.1483C12.979 16.814 12.2209 17.1662 11.4713 16.9234C11.0652 16.7913 10.7253 16.5083 10.5219 16.1328C10.4896 16.023 10.469 15.9102 10.4604 15.7961C10.4301 15.069 10.9736 14.4577 11.6852 14.4189H11.8539C13.1626 14.4733 14.2722 13.4321 14.3259 12.086C14.3795 10.7399 13.3616 9.61256 12.0452 9.5575H11.6852C10.9736 9.52644 10.476 8.96244 10.5063 8.23468C10.5063 8.06244 10.5374 7.89021 10.6059 7.74126L10.6214 7.69468C10.6539 7.62345 10.6821 7.55038 10.7061 7.47585C10.9814 6.57515 10.4915 5.62009 9.61904 5.33844C8.75362 5.06456 7.81974 5.54174 7.53668 6.45021C7.26139 7.32691 7.72021 8.26574 8.57009 8.57138C8.70774 8.61797 8.79174 8.63421 8.92233 8.6575H8.9908C9.66492 8.73515 10.1929 9.29138 10.1696 9.99585C10.1626 10.2542 10.0779 10.4893 9.94798 10.6848C9.72118 11.0472 9.59453 11.4632 9.58092 11.8904C9.55808 12.3864 9.68605 12.8776 9.94798 13.2994C10.0779 13.4949 10.1619 13.73 10.1696 13.9883C10.2007 14.6928 9.74115 15.2483 9.06774 15.3189H9.05221C8.95339 15.3189 8.83833 15.3422 8.74586 15.3577C7.82821 15.5695 7.28468 16.485 7.4908 17.4013C7.69762 18.3246 8.60045 18.8646 9.45809 18.669C9.67681 18.6217 9.88344 18.5298 10.0651 18.3991C10.2468 18.2685 10.3996 18.1018 10.5141 17.9095C10.7022 17.5817 10.997 17.3283 11.3494 17.1916C11.7018 17.0549 12.0904 17.0432 12.4503 17.1584C12.8562 17.2911 13.147 17.5417 13.3539 17.894L13.3764 17.9335C13.5529 18.2229 13.8896 18.5208 14.287 18.638C15.1906 18.9119 16.0786 18.4107 16.3623 17.534C16.6524 16.6184 16.1322 15.6704 15.2901 15.3973V15.4128Z"
            fill="#3859FF"
          />
        </g>
      </g>
    </svg>
  ),
});

const SiliconFlowIcon = createIcon({
  displayName: "SiliconflowIcon",

  path: (
    <svg
      xmlns="http://www.w3.org/2000/svg"
      fill="none"
      version="1.1"
      width="213"
      height="24"
      viewBox="0 0 213 24"
    >
      <g>
        <g>
          <path
            d="M0,4.8L0,19.2C0,21.851,2.14903,24,4.8,24L19.2,24C21.851,24,24,21.851,24,19.2L24,4.8C24,2.14903,21.851,0,19.2,0L4.8,0C2.14903,0,0,2.14903,0,4.8ZM19.2666,1.66666L17.7666,1.66666C12.9666,1.66666,10.2,4.73333,10.2,9.43333L10.2,10.239C9.64723,10.0804,9.07504,10,8.50002,10C5.09426,10,2.33335,12.7609,2.33335,16.1667C2.33335,19.5724,5.09426,22.3333,8.50002,22.3333C11.9058,22.3333,14.6667,19.5724,14.6667,16.1667C14.6667,15.7524,14.6249,15.3392,14.5421,14.9333L14.5666,14.9333L19.2666,14.9333C20.5106,14.9287,21.5167,13.919,21.5167,12.675C21.5167,11.431,20.5106,10.4212,19.2666,10.4167L19.2659,10.4167L19.2583,10.4166L19.2508,10.4167L14.5666,10.4167L14.5666,9.23333C14.5666,7.43333,15.8666,6.13333,17.7666,6.13333L19.2317,6.13333L19.2333,6.13333L19.2349,6.13333L19.2666,6.13333L19.2666,6.13333C20.4869,6.11488,21.4667,5.12044,21.4667,3.9C21.4667,2.67955,20.4869,1.68512,19.2666,1.66666L19.2666,1.66666ZM10.3334,16.1667C10.3334,15.1541,9.51254,14.3333,8.50002,14.3333C7.4875,14.3333,6.66669,15.1541,6.66669,16.1667C6.66669,17.1792,7.4875,18,8.50002,18C9.51254,18,10.3334,17.1792,10.3334,16.1667Z"
            fillRule="evenodd"
            fill="#8358F6"
            fillOpacity="1"
          />
        </g>
        <g>
          <path
            d="M50.803,20L50.803,4L53.5877,4L53.5877,20L50.803,20ZM58.4005,4L58.4005,16.534399999999998L72.3905,16.534399999999998L72.3905,20L57.4446,20Q56.6965,20,56.1562,19.343600000000002Q55.615899999999996,18.6873,55.615899999999996,17.7421L55.615899999999996,4L58.4005,4ZM75.1286,20L75.1286,4L77.9132,4L77.9132,20L75.1286,20ZM130.9109,16.534399999999998L130.9109,4L133.571,4L133.571,20L130.9109,20L119.4975,7.55536L119.4975,20L116.8377,20L116.8377,5.2448999999999995Q116.8377,4.772321,117.0871,4.431012Q117.3363,4.0897125,117.7104,4.0897125L119.4975,4.0897125L130.9109,16.534399999999998ZM157.85500000000002,4L157.85500000000002,16.534399999999998L171.845,16.534399999999998L171.845,20L156.899,20Q156.151,20,155.611,19.343600000000002Q155.07,18.6873,155.07,17.7421L155.07,4L157.85500000000002,4ZM211.504,18.1096Q213,16.2193,213,13.59387L213,4L210.257,4L210.257,13.59387Q210.257,14.8016,209.571,15.6417Q208.885,16.4819,207.929,16.4819L204.147,16.4819L204.147,4L201.487,4L201.487,16.4819L197.664,16.4819Q196.708,16.4819,196.043,15.6417Q195.378,14.8016,195.378,13.59387L195.378,4L192.635,4L192.635,13.59387Q192.635,16.2193,194.11,18.1096Q195.586,20,197.664,20L207.929,20Q210.008,20,211.504,18.1096ZM86.2589,16.534399999999998L96.7578,16.534399999999998L96.7578,20L86.2589,20Q84.5548,20,83.1002,18.9235Q81.6455,17.847099999999998,80.7935,16.0355Q79.9416,14.224,79.9416,12.07114Q79.94149999999999,9.86575,80.7935,8.05419Q81.6455,6.24261,83.1002,5.16618Q84.5549,4.0897125,86.2589,4.0897125L96.7578,4.0897125L96.7578,7.55536L86.2589,7.55536Q84.8043,7.55534,83.7653,8.86807Q82.7262,10.180810000000001,82.7262,12.07114Q82.7262,13.90891,83.7653,15.2216Q84.8043,16.534399999999998,86.2589,16.534399999999998ZM113.3339,18.1359Q111.8584,20,109.7388,20L103.1052,20Q101.0271,20,99.5516,18.1359Q98.0762,16.271900000000002,98.0762,13.64643L98.0762,10.49585Q98.0762,7.87039,99.5516,5.98006Q101.0271,4.0897125,103.1052,4.0897125L109.7388,4.0897125Q111.8584,4.0897349,113.3339,5.98006Q114.8095,7.87039,114.8095,10.49585L114.8095,13.64643Q114.8093,16.2718,113.3339,18.1359ZM152.332,4.0897125L152.332,7.55536L138.27800000000002,7.55536L138.27800000000002,10.28584L152.332,10.28584L152.332,13.7514L138.34199999999998,13.7514L138.34199999999998,20L135.599,20L135.599,11.733329999999999L135.59199999999998,11.733329999999999L135.59199999999998,4.5L135.599,4.5L135.599,4.0897125L152.332,4.0897125ZM189.131,18.1359Q187.655,20,185.536,20L178.902,20Q176.824,20,175.349,18.1359Q173.873,16.271900000000002,173.873,13.64643L173.873,10.49585Q173.873,7.87039,175.349,5.98006Q176.824,4.0897125,178.902,4.0897125L185.536,4.0897125Q187.655,4.0897349,189.131,5.98006Q190.607,7.87039,190.607,10.49585L190.607,13.64643Q190.606,16.2718,189.131,18.1359ZM47.6526,18.5822Q46.5303,20,44.951,20L32,20L32,16.534399999999998L44.951,16.534399999999998Q45.4082,16.534399999999998,45.7199,16.1406Q46.0316,15.7468,46.0316,15.1692Q46.0316,14.5916,45.7199,14.1977Q45.4082,13.80396,44.951,13.80396L35.8237,13.80392Q34.24434,13.80392,33.12217,12.38618Q32,10.96843,32,8.97308Q32,6.97773,33.12217,5.55999Q34.24434,4.14224,35.8237,4.14224L48.068200000000004,4.142279L48.068200000000004,7.6078399999999995L35.8237,7.6078399999999995Q35.36651,7.6078399999999995,35.0548,8.001660000000001Q34.74309,8.39548,34.74309,8.97308Q34.74309,9.55068,35.0548,9.9445Q35.36651,10.33832,35.8237,10.33832L44.951,10.33832Q46.5304,10.338339999999999,47.6526,11.75608Q48.7748,13.17381,48.7748,15.1692Q48.7748,17.1645,47.6526,18.5822ZM111.3805,8.44797Q110.6947,7.6078399999999995,109.7388,7.6078399999999995L103.1052,7.6078399999999995Q102.1494,7.60782,101.4844,8.44797Q100.8193,9.28814,100.8193,10.49585L100.8193,13.64643Q100.8194,14.8541,101.4844,15.6942Q102.1492,16.534399999999998,103.1052,16.534399999999998L109.7388,16.534399999999998Q110.6948,16.534399999999998,111.3805,15.6942Q112.0663,14.8541,112.0663,13.64643L112.0663,10.49585Q112.0663,9.28811,111.3805,8.44797ZM187.178,8.44797Q186.492,7.6078399999999995,185.536,7.6078399999999995L178.902,7.6078399999999995Q177.946,7.60782,177.281,8.44797Q176.616,9.28814,176.616,10.49585L176.616,13.64643Q176.616,14.8541,177.281,15.6942Q177.946,16.534399999999998,178.902,16.534399999999998L185.536,16.534399999999998Q186.492,16.534399999999998,187.178,15.6942Q187.863,14.8541,187.863,13.64643L187.863,10.49585Q187.863,9.28811,187.178,8.44797Z"
            fillRule="evenodd"
            fill="#131414"
            fillOpacity="1"
          />
        </g>
      </g>
    </svg>
  ),
});
const QwenIcon = createIcon({
  displayName: "QwenIcon",
  viewBox: "0 0 600 600",
  path: (
    <svg
      xmlns="http://www.w3.org/2000/svg"
     
      viewBox="0 0 600 600"
      width="600"
      height="600"
      preserveAspectRatio="xMidYMid meet"
     
    >
      <defs>
        <clipPath id="__lottie_element_2">
          <rect width="600" height="600" x="0" y="0"></rect>
        </clipPath>
        <clipPath id="__lottie_element_4">
          <path d="M0,0 L3840,0 L3840,2160 L0,2160z"></path>
        </clipPath>
        <clipPath id="__lottie_element_57">
          <path d="M0,0 L3840,0 L3840,2160 L0,2160z"></path>
        </clipPath>
      </defs>
      <g clip-path="url(#__lottie_element_2)">
        <g
          clip-path="url(#__lottie_element_57)"
          transform="matrix(0.30000001192092896,0,0,0.30000001192092896,-276,-24)"
          opacity="1"
         
        >
          <g
            transform="matrix(3.725472927093506,0,0,3.725472927093506,-13943.4267578125,1393.27490234375)"
            opacity="1"
           
          >
            <g
              opacity="1"
              transform="matrix(1,0,0,1,4258.10009765625,-84.09300231933594)"
            >
              <path
                fill="rgb(97,92,237)"
                fill-opacity="1"
                d=" M187.06500244140625,-60.0099983215332 C187.06500244140625,-60.0099983215332 218.23500061035156,-113.98999786376953 218.23500061035156,-113.98999786376953 C219.30499267578125,-115.83999633789062 219.84500122070312,-117.91999816894531 219.84500122070312,-119.98999786376953 C219.84500122070312,-122.05999755859375 219.30499267578125,-124.13999938964844 218.23500061035156,-125.98999786376953 C218.23500061035156,-125.98999786376953 183.59500122070312,-185.99000549316406 183.59500122070312,-185.99000549316406 C182.52499389648438,-187.83999633789062 181.0050048828125,-189.33999633789062 179.2050018310547,-190.3800048828125 C177.4149932861328,-191.4199981689453 175.34500122070312,-191.99000549316406 173.2050018310547,-191.99000549316406 C173.2050018310547,-191.99000549316406 -110.9229965209961,-191.8699951171875 -110.9229965209961,-191.8699951171875 C-110.9229965209961,-191.8699951171875 -145.48500061035156,-132.00999450683594 -145.48500061035156,-132.00999450683594 C-145.48500061035156,-132.00999450683594 -122.10600280761719,0.06199999898672104 -122.10600280761719,0.06199999898672104 C-122.10600280761719,0.06199999898672104 187.06500244140625,-60.0099983215332 187.06500244140625,-60.0099983215332z"
              ></path>
            </g>
          </g>
          <g
            transform="matrix(3.725472927093506,0,0,3.725472927093506,-13943.43359375,1393.2930908203125)"
            opacity="1"
           
          >
            <g
              opacity="1"
              transform="matrix(1,0,0,1,4258.10009765625,-84.09300231933594)"
            >
              <path
                fill="rgb(97,92,237)"
                fill-opacity="1"
                d=" M41.564998626708984,-191.99000549316406 C41.564998626708984,-191.99000549316406 10.385000228881836,-245.99000549316406 10.385000228881836,-245.99000549316406 C8.244999885559082,-249.6999969482422 4.284999847412109,-251.99000549316406 -0.004999999888241291,-251.99000549316406 C-0.004999999888241291,-251.99000549316406 -69.28500366210938,-251.99000549316406 -69.28500366210938,-251.99000549316406 C-71.42500305175781,-251.99000549316406 -73.48500061035156,-251.4199981689453 -75.2750015258789,-250.3800048828125 C-77.07499694824219,-249.33999633789062 -78.59500122070312,-247.83999633789062 -79.67500305175781,-245.99000549316406 C-79.67500305175781,-245.99000549316406 -111.18199920654297,-191.4219970703125 -111.18199920654297,-191.4219970703125 C-111.18199920654297,-191.4219970703125 -145.48500061035156,-132.00999450683594 -145.48500061035156,-132.00999450683594 C-145.48500061035156,-132.00999450683594 41.564998626708984,-191.99000549316406 41.564998626708984,-191.99000549316406z"
              ></path>
            </g>
          </g>
          <g
            transform="matrix(-1.862736463546753,3.2263541221618652,-3.2263541221618652,-1.862736463546753,9580.4091796875,-12814.767578125)"
            opacity="1"
           
          >
            <g
              opacity="1"
              transform="matrix(1,0,0,1,4258.10009765625,-84.09300231933594)"
            >
              <path
                fill="rgb(97,92,237)"
                fill-opacity="1"
                d=" M187.06500244140625,-60.0099983215332 C187.06500244140625,-60.0099983215332 218.23500061035156,-113.98999786376953 218.23500061035156,-113.98999786376953 C219.30499267578125,-115.83999633789062 219.84500122070312,-117.91999816894531 219.84500122070312,-119.98999786376953 C219.84500122070312,-122.05999755859375 219.30499267578125,-124.13999938964844 218.23500061035156,-125.98999786376953 C218.23500061035156,-125.98999786376953 183.59500122070312,-185.99000549316406 183.59500122070312,-185.99000549316406 C182.52499389648438,-187.83999633789062 181.0050048828125,-189.33999633789062 179.2050018310547,-190.3800048828125 C177.4149932861328,-191.4199981689453 175.34500122070312,-191.99000549316406 173.2050018310547,-191.99000549316406 C173.2050018310547,-191.99000549316406 -110.9229965209961,-191.8699951171875 -110.9229965209961,-191.8699951171875 C-110.9229965209961,-191.8699951171875 -145.48500061035156,-132.00999450683594 -145.48500061035156,-132.00999450683594 C-145.48500061035156,-132.00999450683594 -122.10600280761719,0.06199999898672104 -122.10600280761719,0.06199999898672104 C-122.10600280761719,0.06199999898672104 187.06500244140625,-60.0099983215332 187.06500244140625,-60.0099983215332z"
              ></path>
            </g>
          </g>
          <g
            transform="matrix(-1.862736463546753,3.2263541221618652,-3.2263541221618652,-1.862736463546753,9580.396484375,-12814.783203125)"
            opacity="1"
           
          >
            <g
              opacity="1"
              transform="matrix(1,0,0,1,4258.10009765625,-84.09300231933594)"
            >
              <path
                fill="rgb(97,92,237)"
                fill-opacity="1"
                d=" M41.564998626708984,-191.99000549316406 C41.564998626708984,-191.99000549316406 10.385000228881836,-245.99000549316406 10.385000228881836,-245.99000549316406 C8.244999885559082,-249.6999969482422 4.284999847412109,-251.99000549316406 -0.004999999888241291,-251.99000549316406 C-0.004999999888241291,-251.99000549316406 -69.28500366210938,-251.99000549316406 -69.28500366210938,-251.99000549316406 C-71.42500305175781,-251.99000549316406 -73.48500061035156,-251.4199981689453 -75.2750015258789,-250.3800048828125 C-77.07499694824219,-249.33999633789062 -78.59500122070312,-247.83999633789062 -79.67500305175781,-245.99000549316406 C-79.67500305175781,-245.99000549316406 -111.18199920654297,-191.4219970703125 -111.18199920654297,-191.4219970703125 C-111.18199920654297,-191.4219970703125 -145.48500061035156,-132.00999450683594 -145.48500061035156,-132.00999450683594 C-145.48500061035156,-132.00999450683594 41.564998626708984,-191.99000549316406 41.564998626708984,-191.99000549316406z"
              ></path>
            </g>
          </g>
          <g
            transform="matrix(-1.862736463546753,-3.2263541221618652,3.2263541221618652,-1.862736463546753,10123.017578125,14661.4931640625)"
            opacity="1"
           
          >
            <g
              opacity="1"
              transform="matrix(1,0,0,1,4258.10009765625,-84.09300231933594)"
            >
              <path
                fill="rgb(97,92,237)"
                fill-opacity="1"
                d=" M187.06500244140625,-60.0099983215332 C187.06500244140625,-60.0099983215332 218.23500061035156,-113.98999786376953 218.23500061035156,-113.98999786376953 C219.30499267578125,-115.83999633789062 219.84500122070312,-117.91999816894531 219.84500122070312,-119.98999786376953 C219.84500122070312,-122.05999755859375 219.30499267578125,-124.13999938964844 218.23500061035156,-125.98999786376953 C218.23500061035156,-125.98999786376953 183.59500122070312,-185.99000549316406 183.59500122070312,-185.99000549316406 C182.52499389648438,-187.83999633789062 181.0050048828125,-189.33999633789062 179.2050018310547,-190.3800048828125 C177.4149932861328,-191.4199981689453 175.34500122070312,-191.99000549316406 173.2050018310547,-191.99000549316406 C173.2050018310547,-191.99000549316406 -110.9229965209961,-191.8699951171875 -110.9229965209961,-191.8699951171875 C-110.9229965209961,-191.8699951171875 -145.48500061035156,-132.00999450683594 -145.48500061035156,-132.00999450683594 C-145.48500061035156,-132.00999450683594 -122.10600280761719,0.06199999898672104 -122.10600280761719,0.06199999898672104 C-122.10600280761719,0.06199999898672104 187.06500244140625,-60.0099983215332 187.06500244140625,-60.0099983215332z"
              ></path>
            </g>
          </g>
          <g
            transform="matrix(-1.862736463546753,-3.2263541221618652,3.2263541221618652,-1.862736463546753,10123.0361328125,14661.4892578125)"
            opacity="1"
           
          >
            <g
              opacity="1"
              transform="matrix(1,0,0,1,4258.10009765625,-84.09300231933594)"
            >
              <path
                fill="rgb(97,92,237)"
                fill-opacity="1"
                d=" M41.564998626708984,-191.99000549316406 C41.564998626708984,-191.99000549316406 10.385000228881836,-245.99000549316406 10.385000228881836,-245.99000549316406 C8.244999885559082,-249.6999969482422 4.284999847412109,-251.99000549316406 -0.004999999888241291,-251.99000549316406 C-0.004999999888241291,-251.99000549316406 -69.28500366210938,-251.99000549316406 -69.28500366210938,-251.99000549316406 C-71.42500305175781,-251.99000549316406 -73.48500061035156,-251.4199981689453 -75.2750015258789,-250.3800048828125 C-77.07499694824219,-249.33999633789062 -78.59500122070312,-247.83999633789062 -79.67500305175781,-245.99000549316406 C-79.67500305175781,-245.99000549316406 -111.18199920654297,-191.4219970703125 -111.18199920654297,-191.4219970703125 C-111.18199920654297,-191.4219970703125 -145.48500061035156,-132.00999450683594 -145.48500061035156,-132.00999450683594 C-145.48500061035156,-132.00999450683594 41.564998626708984,-191.99000549316406 41.564998626708984,-191.99000549316406z"
              ></path>
            </g>
          </g>
          <g
            transform="matrix(31.5696964263916,-0.13830067217350006,0.13830067217350006,31.5696964263916,1920,1080)"
            opacity="1"
           
          >
            <g opacity="1" transform="matrix(1,0,0,1,0,0)">
              <path
                fill="rgb(255,255,255)"
                fill-opacity="1"
                d=" M-16.312999725341797,-14.13599967956543 C-16.312999725341797,-14.13599967956543 -8.152999877929688,-28.257999420166016 -8.152999877929688,-28.257999420166016 C-8.152999877929688,-28.257999420166016 -4.079999923706055,-21.20400047302246 -4.079999923706055,-21.20400047302246 C-4.079999923706055,-21.20400047302246 -8.163000106811523,-14.133000373840332 -8.163000106811523,-14.133000373840332 C-8.163000106811523,-14.133000373840332 24.5,-14.125 24.5,-14.125 C24.5,-14.125 20.398000717163086,-7.059000015258789 20.398000717163086,-7.059000015258789 C20.398000717163086,-7.059000015258789 -12.229999542236328,-7.065000057220459 -12.229999542236328,-7.065000057220459 C-12.229999542236328,-7.065000057220459 -16.312999725341797,-14.13599967956543 -16.312999725341797,-14.13599967956543z"
              ></path>
            </g>
          </g>
          <g
            transform="matrix(-15.66507625579834,27.40930938720703,-27.40930938720703,-15.66507625579834,1920,1080)"
            opacity="1"
           
          >
            <g opacity="1" transform="matrix(1,0,0,1,0,0)">
              <path
                fill="rgb(255,255,255)"
                fill-opacity="1"
                d=" M-16.312999725341797,-14.13599967956543 C-16.312999725341797,-14.13599967956543 -8.152999877929688,-28.257999420166016 -8.152999877929688,-28.257999420166016 C-8.152999877929688,-28.257999420166016 -4.079999923706055,-21.20400047302246 -4.079999923706055,-21.20400047302246 C-4.079999923706055,-21.20400047302246 -8.163000106811523,-14.133000373840332 -8.163000106811523,-14.133000373840332 C-8.163000106811523,-14.133000373840332 24.5,-14.125 24.5,-14.125 C24.5,-14.125 20.398000717163086,-7.059000015258789 20.398000717163086,-7.059000015258789 C20.398000717163086,-7.059000015258789 -12.229999542236328,-7.065000057220459 -12.229999542236328,-7.065000057220459 C-12.229999542236328,-7.065000057220459 -16.312999725341797,-14.13599967956543 -16.312999725341797,-14.13599967956543z"
              ></path>
            </g>
          </g>
          <g
            transform="matrix(-15.904620170593262,-27.27100944519043,27.27100944519043,-15.904620170593262,1920,1080)"
            opacity="1"
           
          >
            <g opacity="1" transform="matrix(1,0,0,1,0,0)">
              <path
                fill="rgb(255,255,255)"
                fill-opacity="1"
                d=" M-16.312999725341797,-14.13599967956543 C-16.312999725341797,-14.13599967956543 -8.152999877929688,-28.257999420166016 -8.152999877929688,-28.257999420166016 C-8.152999877929688,-28.257999420166016 -4.079999923706055,-21.20400047302246 -4.079999923706055,-21.20400047302246 C-4.079999923706055,-21.20400047302246 -8.163000106811523,-14.133000373840332 -8.163000106811523,-14.133000373840332 C-8.163000106811523,-14.133000373840332 24.5,-14.125 24.5,-14.125 C24.5,-14.125 20.398000717163086,-7.059000015258789 20.398000717163086,-7.059000015258789 C20.398000717163086,-7.059000015258789 -12.229999542236328,-7.065000057220459 -12.229999542236328,-7.065000057220459 C-12.229999542236328,-7.065000057220459 -16.312999725341797,-14.13599967956543 -16.312999725341797,-14.13599967956543z"
              ></path>
            </g>
          </g>
          <g
            transform="matrix(31.5696964263916,-0.13830067217350006,0.13830067217350006,31.5696964263916,1920,1080)"
            opacity="1"
           
          >
            <g opacity="1" transform="matrix(1,0,0,1,0,0)">
              <path
                fill="rgb(96,91,236)"
                fill-opacity="1"
                d=" M-12.229999542236328,-7.065000057220459 C-12.229999542236328,-7.065000057220459 -0.004000000189989805,14.12399959564209 -0.004000000189989805,14.12399959564209 C-0.004000000189989805,14.12399959564209 12.232999801635742,-7.059000015258789 12.232999801635742,-7.059000015258789 C12.232999801635742,-7.059000015258789 -12.229999542236328,-7.065000057220459 -12.229999542236328,-7.065000057220459z"
              ></path>
            </g>
          </g>
          <g
            transform="matrix(31.5696964263916,-0.13830067217350006,0.13830067217350006,31.5696964263916,1920,1080)"
            opacity="1"
           
          >
            <g opacity="1" transform="matrix(1,0,0,1,0,0)">
              <path
                fill="rgb(96,91,236)"
                fill-opacity="1"
                d=" M-12.229999542236328,-7.065000057220459 C-12.229999542236328,-7.065000057220459 20.398000717163086,-7.059000015258789 20.398000717163086,-7.059000015258789 C20.398000717163086,-7.059000015258789 21.21299934387207,-5.645999908447266 21.21299934387207,-5.645999908447266 C21.21299934387207,-5.645999908447266 -11.413999557495117,-5.6529998779296875 -11.413999557495117,-5.6529998779296875 C-11.413999557495117,-5.6529998779296875 -12.229999542236328,-7.065000057220459 -12.229999542236328,-7.065000057220459z"
              ></path>
            </g>
          </g>
          <g
            transform="matrix(-15.66507625579834,27.40930938720703,-27.40930938720703,-15.66507625579834,1920,1080)"
            opacity="1"
           
          >
            <g opacity="1" transform="matrix(1,0,0,1,0,0)">
              <path
                fill="rgb(96,91,236)"
                fill-opacity="1"
                d=" M-12.229999542236328,-7.065000057220459 C-12.229999542236328,-7.065000057220459 20.398000717163086,-7.059000015258789 20.398000717163086,-7.059000015258789 C20.398000717163086,-7.059000015258789 21.21299934387207,-5.645999908447266 21.21299934387207,-5.645999908447266 C21.21299934387207,-5.645999908447266 -11.413999557495117,-5.6529998779296875 -11.413999557495117,-5.6529998779296875 C-11.413999557495117,-5.6529998779296875 -12.229999542236328,-7.065000057220459 -12.229999542236328,-7.065000057220459z"
              ></path>
            </g>
          </g>
          <g
            transform="matrix(-15.904620170593262,-27.27100944519043,27.27100944519043,-15.904620170593262,1920,1080)"
            opacity="1"
           
          >
            <g opacity="1" transform="matrix(1,0,0,1,0,0)">
              <path
                fill="rgb(96,91,236)"
                fill-opacity="1"
                d=" M-12.229999542236328,-7.065000057220459 C-12.229999542236328,-7.065000057220459 20.398000717163086,-7.059000015258789 20.398000717163086,-7.059000015258789 C20.398000717163086,-7.059000015258789 21.21299934387207,-5.645999908447266 21.21299934387207,-5.645999908447266 C21.21299934387207,-5.645999908447266 -11.413999557495117,-5.6529998779296875 -11.413999557495117,-5.6529998779296875 C-11.413999557495117,-5.6529998779296875 -12.229999542236328,-7.065000057220459 -12.229999542236328,-7.065000057220459z"
                data-spm-anchor-id="5176.28326591.0.i1.4d0555e3BNZpZU"
              ></path>
            </g>
          </g>
        </g>
        <g clip-path="url(#__lottie_element_4)">
          <g>
            <g>
              <path></path>
            </g>
          </g>
          <g>
            <g>
              <path></path>
            </g>
          </g>
          <g>
            <g>
              <path></path>
            </g>
          </g>
          <g>
            <g>
              <path></path>
            </g>
          </g>
          <g>
            <g>
              <path></path>
            </g>
          </g>
          <g>
            <g>
              <path></path>
            </g>
          </g>
          <g>
            <g>
              <path></path>
            </g>
          </g>
          <g>
            <g>
              <path></path>
            </g>
          </g>
          <g>
            <g>
              <path></path>
            </g>
          </g>
          <g>
            <g>
              <path></path>
            </g>
          </g>
          <g>
            <g>
              <path></path>
            </g>
          </g>
          <g>
            <g>
              <path></path>
            </g>
          </g>
          <g>
            <g>
              <path></path>
            </g>
          </g>
        </g>
      </g>
    </svg>
  ),
});
const iconMap: { [key: string]: React.FC } = {
  openai: OpenAIIcon,
  zhipuai: ZhipuAIIcon,
  ollama: OllamaIcon,
  siliconflow: SiliconFlowIcon,
  qwen: QwenIcon,
  default: OpenAIIcon,
};

const getProviderFromModelName = (modelName: string): string => {
  const lowerModelName = modelName.toLowerCase();

  if (lowerModelName.includes("gpt")) return "openai";
  if (lowerModelName.includes("glm")) return "zhipuai";
  if (lowerModelName.includes("llama")) return "ollama";
  if (lowerModelName.includes("qwen")) return "qwen";
  if (lowerModelName.includes("/")) return "siliconflow";

  // 添加更多模型名称到提供商的映射
  return "default";
};

const ModelProviderIcon = ({
  modelprovider_name,
  ...props
}: {
  modelprovider_name?: string;
} & IconProps) => {
  let providerName = modelprovider_name?.toLowerCase() || "default";

  // 如果 providerName 不在 iconMap 中，尝试从模型名称获取提供商
  if (!iconMap[providerName]) {
    providerName = getProviderFromModelName(providerName);
  }

  const IconComponent = iconMap[providerName];

  return <Icon as={IconComponent} {...props} />;
};

export default ModelProviderIcon;
export { OllamaIcon, OpenAIIcon, ZhipuAIIcon, SiliconFlowIcon };
